#ifndef _LINKQUEUE_H
#define _LINKQUEUE_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef int data_Type;
typedef struct Node
{
    data_Type data;
    struct Node *next;
} Node,*pNode;
typedef struct LinkQueue
{
    pNode front;//队头
    pNode rear;//队尾
} LinkQueue;
LinkQueue *init_LinkQueue();//初始化
int push_LinkQueue(LinkQueue *queue, data_Type value);//入队
int  pop_LinkQueue(LinkQueue *queue,data_Type *value);//出队
int empty_LinkQueue(LinkQueue *queue);//判空
data_Type front_LinkQueue(LinkQueue *queue);//取队头元素
data_Type back_LinkQueue(LinkQueue *queue);//取队尾元素
void clear_LinkQueue(LinkQueue *queue);//清空
void output_LinkQueue(LinkQueue *queue);//输出
int size_LinkQueue(LinkQueue *queue);//大小
void destory_LinkQueue(LinkQueue *queue);//销毁
 //删除某个元素
 int delet_LinkQueue(LinkQueue *queue,data_Type value);
 //修改
 int modify_LinkQueue(LinkQueue *queue,data_Type value,data_Type new_value);
 //插入
 int insert_LinkQueue(LinkQueue *queue,data_Type value,data_Type new_value);
#endif